package Day015_File类_递归_IO流.demo01_File类;

import java.io.File;

/**
 * @author zhangyan
 * @date 2020/5/6 9:18
 */
/*
   获取功能的方法:
            public String getAbsolutePath() ：返回此File的绝对路径名字符串。
            public String getPath() ：返回File的构造路径名字符串。
            public String getName() ：返回由此File表示的文件或目录的名称。
            public long length() ：返回由此File表示的文件的字节数。 不能获取目录的长度。

    判断功能的方法:
            public boolean exists() ：此File表示的文件或目录是否实际存在。
            public boolean isDirectory() ：此File表示的是否为目录。
            public boolean isFile() ：此File表示的是否为文件。

    创建删除功能的方法:
            public boolean createNewFile() ：当且仅当具有该名称的文件尚不存在时，创建一个新的空文件。
            public boolean delete() ：删除由此File表示的文件或目录(空文件夹)。
            public boolean mkdir() ：创建由此File表示的目录。
            public boolean mkdirs() ：创建由此File表示的目录，包括任何必需但不存在的父目录。
 */

public class File类常用方法 {
    public static void main(String[] args) throws Exception {
        //创建新文件,表示一个路径
        File file1 = new File("Demo02\\aaa\\a.txt");
        System.out.println(file1.exists()); //false
        file1.createNewFile();
        System.out.println(file1.exists()); //true

       /* System.out.println("-----------------");
        //删除文件(不保留在回收站!)
        System.out.println(file1.exists()); //true
        file1.delete();
        System.out.println(file1.exists()); //false*/

        //删除文件夹
        File file2 = new File("Demo02\\aaa");
        file2.delete(); //只能删除空文件夹,不能删除非空文件夹aaa

        //创建单级目录
        File file3 = new File("Demo02\\ccc");
        file3.mkdir();
        file3.delete(); //可以删除空文件夹ccc

        //创建多级目录
        File file4 = new File("Demo02\\ccc\\ddd\\eee");
        file4.mkdirs();

    }

    //判断功能的方法
    private static void method2() {
        //创建对象,表示D:\java\jdk-9_doc-api.CHM 文件路径
        File file1 = new File("D:\\java\\jdk-9_doc-api.CHM");
        //
        System.out.println("file1文件是否存在" + file1.exists()); //true
        System.out.println("file1文件是否是文件夹" + file1.isDirectory()); //false
        System.out.println("file1文件是文件" + file1.isFile()); //true

        //创建对象,表示D:\java 文件夹路径
        File file2 = new File("D:\\java");
        System.out.println("file2文件是否存在" + file2.exists()); //true
        System.out.println("file2文件是否是文件夹" + file2.isDirectory()); //true
        System.out.println("file2文件是文件" + file2.isFile()); //false
    }

    //获取功能的方法
    private static void method1() {
        //创建对象,表示D:\java\jdk-9_doc-api.CHM 文件路径
        File file1 = new File("D:\\java\\jdk-9_doc-api.CHM");

        System.out.println("file1的绝对路径:" + file1.getAbsolutePath());
        System.out.println("file1的构造路径:" + file1.getPath());
        System.out.println("文件的名称:" + file1.getName());
        System.out.println("文件的大小:" + file1.length());

        //创建对象,表示D:\java 文件夹路径
        File file2 = new File("D:\\java");
        System.out.println("file2的绝对路径:" + file2.getAbsolutePath());
        System.out.println("file2的构造路径:" + file2.getPath());
        System.out.println("文件夹的名称:" + file2.getName());
        System.out.println("文件夹的大小:" + file2.length()); //获取不到!
    }
}
